constructor() {
owner = msg.sender;
}
function addNewStudent(string calldata newStudentName,
string calldata newStudentDob, string calldata
newStudentGrade) public returns(uint){
if (msg.sender != owner) {
return 0;
}
uint newEnrollmentNumber = ++latestEnrollmentNumber;
students.push(Student({
name: newStudentName,
dob: newStudentDob,
grade: newStudentGrade,
enrollmentNumber: newEnrollmentNumber
}));
return newEnrollmentNumber;
}
function retrieveGrade(uint studentEnrollmentNumber)
public view returns(string memory){
for (uint i=0; i < students.length; i++) {
if (students[i].enrollmentNumber ==
studentEnrollmentNumber) {
return students[i].grade;
}
}
}
}
2.5.24 Lab 2
Now, let’s rewrite the contract of Lab1 as Lab2 using more than one
contracts and instantiating one within the other:
// SPDX-License-Identifier: SOME IDENTIFIER